package com.byd.dms.fastjson;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;

import java.util.Collection;
import java.util.LinkedHashMap;

public class FastDemo5 {
    public static void main(String[] args) {
        JSONObject map=new JSONObject();//关键要设置为true，否则乱序
        map.put("请假类型","1");
        map.put("单据状态","2");
        map.put("开始时间","3");
        map.put("结束时间","4");
        map.put("请假原因","5");
        System.out.println(map.toString());//封装的打印语句，不用理会
    
    
        System.out.println(map.toString());
        //这条直接转的方案，会产生乱序问题！！！
        //JSONObject root=JSON.parseObject(map.toString());
        LinkedHashMap<String, Object> root= JSON.parseObject(map.toString(),new TypeReference<LinkedHashMap<String, Object>>(){} );//关键的地方，转化为有序map
        System.out.println(JSON.toJSONString(root));
        //有了map对象，你就可以顺序打印，至于转不转JSONObject对象，看需求在定
        // JSONObject json=new JSONObject(true);
        // json.putAll(root);//存放map对象
        Collection<Object> lists=root.values();
        // Collection<Object> lists=json.values();//这种new JSONObject方案也可以
        //打印
        for (Object object : lists) {
            System.out.println(object.toString());
        }
    }
}
